﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using NUnit.Framework;
using BolsaWeb.Dominio;
using BolsaWeb.Persistencia;
using BolsaWeb.Models;
namespace BolsaWeb.Pruebas
{
    [TestFixture]
    public class TestPostulante
    {
        [Test]
        public void crearPostulanteCorrecto()
        {
            Postulante o = new Postulante();
            PostulanteDAO PostulanteDAO = new PostulanteDAO();
            o.Correo = "zullytp@gmail.com";
            o.Clave = "12345";
            o.Nombres = "Zully";
            o.ApellidoMaterno = "Taza";
            o.ApellidoPaterno = "Pimentel";
            o.Sexo = SexoModels.FEMENINO;
            o.FechaNacimiento = DateTime.Parse("12/02/1981");
            Assert.DoesNotThrow(delegate
            {
                Postulante ro = PostulanteDAO.Crear(o);
            });
            Assert.Greater(o.Id, 0);
        }
        [Test]
        public void modificarPostulanteCorrecto()
        {
            Postulante o = new Postulante();
            PostulanteDAO PostulanteDAO = new PostulanteDAO();
            o.Id = 11;
            o.Correo = "zullytp@gmail.com";
            o.Clave = "12345";
            o.Nombres = "Zully";
            o.ApellidoMaterno = "Taza";
            o.ApellidoPaterno = "Pimentel";
            o.Sexo = SexoModels.FEMENINO;
            o.FechaNacimiento = DateTime.Parse("12/02/1981");
            Assert.DoesNotThrow(delegate
            {
                Postulante ro = PostulanteDAO.Modificar(o);
            });
            Assert.NotNull(o);
            Assert.AreEqual(o.Correo, "zullytp@gmail.com");
        }
        /*
         * Validar que no se pueda ingresar  un registro sin correo y clave
         */
        [Test]
        public void crearPostulanteSinDatoObligatorio()
        {
            Postulante o = new Postulante();
            PostulanteDAO PostulanteDAO = new PostulanteDAO();
            o.Nombres = "Zully";
            o.ApellidoMaterno = "Taza";
            o.ApellidoPaterno = "Pimentel";
            Assert.Catch<Exception>(delegate
            {
                Postulante ro = PostulanteDAO.Crear(o);
            });
        }
    }
}
